package cn.good.yan.sf;


/**
 * 1.线性查找法 、二分查找
 * 2.数组 （插入、遍历、删除、扩容 、数组合并）
 * 3.链表 ：（哨兵链表、双向链表、环形链表）
 * 4.递归 ：求5的阶乘、反向打印字符串、斐波那契数列、杨辉三角
 * 5 排序： （冒泡排序、插入排序）
 * 5.链表：（有序链表去重、反转、合并链表、判断回文链表、删除倒数节点、是否是环）
 * 6.队列 （基于链表实现、基于环形数组实现）
 * -----  双端队列
 * -----  优先级队列
 * -----  阻塞队列
 * 7.栈 （基于链表实现、基于环形数组实现）
 *
 * @author shengren.yan
 * @create 2024-03-23
 */
public class Test {

    public static void sort(int[] arr, int j) {
        if (j == arr.length) {
            return;
        }
        int i = j - 1;
        int t = arr[j];
        while (i >= 0 && t < arr[i]) {
            arr[i + 1] = arr[i];
            i--;
        }
        arr[i + 1] = t;
        sort(arr, j + 1);
    }

    public static void main(String[] args) {
        int[] arr = {4, 3, 2, 1};
        sort(arr, 1);
        System.out.println(arr);
    }


}
